﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       Calibration
- 机器名称：       YTE
- 命名空间：       LD.Vision
- 文 件 名：       Calibration
- 创建时间：       2022/9/5 9:09:20
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

using HalconDotNet;
using LD.Host;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LD.Vision
{
    [Serializable]
    public class CalibrationModel
    {
        public string Name { get; set; }
        /// <summary>
        /// 世界坐标x
        /// </summary>
        public double[] Wx { get; set; } = new double[14];
        /// <summary>
        /// 世界坐标y
        /// </summary>
        public double[] Wy { get; set; } = new double[14];
        /// <summary>
        /// 图像坐标x
        /// </summary>
        public double[] Px { get; set; } = new double[14];
        /// <summary>
        /// 图像坐标y
        /// </summary>
        public double[] Py { get; set; } = new double[14];
        /// <summary>
        /// 拟合圆半径
        /// </summary>
        public Circle Circle { get; set; } = new Circle();

        /// <summary>
        /// 标定后矩阵
        /// </summary>
        public HHomMat2D HHomMat2D { get; set; } = new HHomMat2D();

        /// <summary>
        /// 标定类型，0:眼在手外、1:眼在手上
        /// </summary>
        public int CalType { get; set; }

        public void Save(string filePath)
        {
            JsonSerializeHelper.Save(this, filePath);
        }
    }
}
